menuitem: deprecate width-chars style property
authorCosimo Cecchi <cosimoc@gnome.org>
Fri, 18 Dec 2015 03:24:24 +0000 (19:24 -0800)
committerCosimo Cecchi <cosimoc@gnome.org>
Sun, 20 Dec 2015 05:21:16 +0000 (21:21 -0800)
Instead, we can just set min-width.

gtk/gtkmenuitem.c
gtk/theme/Adwaita/_common.scss
gtk/theme/Adwaita/gtk-contained-dark.css
gtk/theme/Adwaita/gtk-contained.css
gtk/theme/HighContrast/_common.scss
gtk/theme/HighContrast/gtk.css

index 1c33b2ec7870ec8e714ca54fe438a6fb3d35a3ed..2308eac5197543beb1652fd1daf0efecad4e0851 100644 (file)
@@ -506,29 +506,6 @@ gtk_menu_item_accel_width_foreach (GtkWidget *widget,
                            data);
 }
 
-static gint
-get_minimum_width (GtkWidget *widget)
-{
-  PangoContext *context;
-  PangoFontMetrics *metrics;
-  gint width;
-  gint width_chars;
-
-  context = gtk_widget_get_pango_context (widget);
-
-  metrics = pango_context_get_metrics (context,
-                                       pango_context_get_font_description (context),
-                                       pango_context_get_language (context));
-
-  width = pango_font_metrics_get_approximate_char_width (metrics);
-
-  pango_font_metrics_unref (metrics);
-
-  gtk_widget_style_get (widget, "width-chars", &width_chars, NULL);
-
-  return PANGO_PIXELS (width_chars * width);
-}
-
 static void
 gtk_menu_item_real_get_width (GtkWidget *widget,
                               gint      *minimum_size,
@@ -560,8 +537,6 @@ gtk_menu_item_real_get_width (GtkWidget *widget,
 
           min_width += arrow_size;
           min_width += arrow_spacing;
-
-          min_width = MAX (min_width, get_minimum_width (widget));
           nat_width = min_width;
         }
 
@@ -982,13 +957,16 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
    * The minimum desired width of the menu item in characters.
    *
    * Since: 2.14
+   *
+   * Deprecated: 3.20: Use the standard CSS property min-width; the value of
+   *     this style property is ignored.
    */
   gtk_widget_class_install_style_property (widget_class,
                                            g_param_spec_int ("width-chars",
                                                              P_("Width in Characters"),
                                                              P_("The minimum desired width of the menu item in characters"),
                                                              0, G_MAXINT, 12,
-                                                             GTK_PARAM_READABLE));
+                                                             GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
 
   gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_ITEM_ACCESSIBLE);
   gtk_widget_class_set_css_name (widget_class, "menuitem");
index 5e8c791e0bdd40cbc64c0e3bc978579d2ccee3d7..9be926939a0829ae5f101cd38837254ab47a4d36 100644 (file)
@@ -1500,6 +1500,7 @@ menu,
   & menuitem {
     text-shadow: none;
     padding: 4px;
+    min-width: 40px;
     &:hover {
       color: $selected_fg_color;
       background-color: $selected_bg_color;
index 06d2cd13c7477ff23320efb77b4e08202a62f5a3..5431ae093b55892833d8478da6a9c773bb183046 100644 (file)
@@ -2106,7 +2106,8 @@ menu,
   menu menuitem,
   .menu menuitem {
     text-shadow: none;
-    padding: 4px; }
+    padding: 4px;
+    min-width: 40px; }
     menu menuitem:hover,
     .menu menuitem:hover {
       color: #ffffff;
index d72301ee9e782c25dc82f9e3a01c702ca5a5e19c..d419d5b5bc6e47ef9dd01e81017ff4c35781fc46 100644 (file)
@@ -2112,7 +2112,8 @@ menu,
   menu menuitem,
   .menu menuitem {
     text-shadow: none;
-    padding: 4px; }
+    padding: 4px;
+    min-width: 40px; }
     menu menuitem:hover,
     .menu menuitem:hover {
       color: #ffffff;
index 28f9e7abaae15dce552baa4f7e195fe91c4357a7..9e243cb31aed09e16f299e6104db1efe0c015d0e 100644 (file)
@@ -1173,9 +1173,11 @@ menu,
     &.arrow { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); }
     &.arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); }
   }
-}
-
 
+  menuitem {
+    min-width: 40px;
+  }
+}
 
 /***************
  * Popovers   *
index fe5145edefd3649bd98edb30466ebdf77457ff32..7744f91500646bb2027672cce184a4474e31fd51 100644 (file)
@@ -1301,6 +1301,9 @@ menu,
     menu .menuitem.arrow:dir(rtl),
     .menu .menuitem.arrow:dir(rtl) {
       -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+  menu menuitem,
+  .menu menuitem {
+    min-width: 40px; }
 
 /***************
  * Popovers   *